%ifdef CONFIG
{
  "HostFeatures": ["AVX"],
  "RegData": {
    "XMM1":  ["0xEE65166050AC19A0", "0xFE1EB34A32B1A0B2", "0x0000000000000000", "0x0000000000000000"],
    "XMM2":  ["0x28A18CDD2D20FB20", "0x1D6FA69C44CAED04", "0x0000000000000000", "0x0000000000000000"],
    "XMM3":  ["0xF514CF89A88EDCDE", "0x01E3DC4237BECFCF", "0x0000000000000000", "0x0000000000000000"],
    "XMM4":  ["0x0004B0350897F35A", "0x03CD750E809C18D0", "0x0000000000000000", "0x0000000000000000"],
    "XMM9":  ["0x066A5FA4AD5148C8", "0x00BCA2DA387E55A2", "0x0000000000000000", "0x0000000000000000"],
    "XMM10": ["0x1E0F03011112ED90", "0x18C90F3EC0D58440", "0x0000000000000000", "0x0000000000000000"],
    "XMM11": ["0xEE94B334B2358DF2", "0x1B82409D7AE7FA28", "0x0000000000000000", "0x0000000000000000"],
    "XMM12": ["0xED12F34E8FB5E098", "0xD83D0BA0FF8632DB", "0x0000000000000000", "0x0000000000000000"]
  }
}
%endif

lea rdx, [rel .data]

vmovaps ymm1, [rdx + 32 * 0]
vmovaps ymm2, [rdx + 32 * 1]
vmovaps ymm3, [rdx + 32 * 2]
vmovaps ymm4, [rdx + 32 * 3]
vmovaps ymm5, [rdx + 32 * 4]
vmovaps ymm6, [rdx + 32 * 5]
vmovaps ymm7, [rdx + 32 * 6]
vmovaps ymm8, [rdx + 32 * 7]

vpmuldq xmm1, xmm1, [rdx + 32 * 8]
vpmuldq xmm2, xmm2, [rdx + 32 * 9]
vpmuldq xmm3, xmm3, [rdx + 32 * 10]
vpmuldq xmm4, xmm4, [rdx + 32 * 11]
vpmuldq xmm9, xmm5, [rdx + 32 * 12]
vpmuldq xmm10, xmm6, [rdx + 32 * 13]
vpmuldq xmm11, xmm7, [rdx + 32 * 14]
vpmuldq xmm12, xmm8, [rdx + 32 * 15]

hlt

align 32
; 256bytes of random data
.data:
dq 0xA76C4F06A12BFCE0
dq 0x9B80767F1E6A060F
dq 0xA76C4F06A12BFCE0
dq 0x9B80767F1E6A060F

dq 0x6868C3F3AAED56E0
dq 0xF0FCE9E294E6E6DE
dq 0x6868C3F3AAED56E0
dq 0xF0FCE9E294E6E6DE

dq 0x6C8BABD754A8356E
dq 0x277EA625CA925F77
dq 0x6C8BABD754A8356E
dq 0x277EA625CA925F77

dq 0x6A6FD695EC73CDC7
dq 0xDDA1B927BBF2AEBB
dq 0x6A6FD695EC73CDC7
dq 0xDDA1B927BBF2AEBB

dq 0x88312CD5C7D14D73
dq 0x7F091E1EFDDBE7FE
dq 0x88312CD5C7D14D73
dq 0x7F091E1EFDDBE7FE

dq 0xF29AE6EF954EFA14
dq 0x8273A8A49A6242A0
dq 0xF29AE6EF954EFA14
dq 0x8273A8A49A6242A0

dq 0x3212073882160F0E
dq 0xB3780763C1923507
dq 0x3212073882160F0E
dq 0xB3780763C1923507

dq 0x462A372B571946CB
dq 0xA38DCD3D790E041F
dq 0x462A372B571946CB
dq 0xA38DCD3D790E041F

dq 0x3057BAAB2F86F32B
dq 0xEF3F4F46F02CD62E
dq 0x3057BAAB2F86F32B
dq 0xEF3F4F46F02CD62E

dq 0xDE3C4B3485BBD1EF
dq 0x9DE3718DB9A3489E
dq 0xDE3C4B3485BBD1EF
dq 0x9DE3718DB9A3489E

dq 0x9D50328ADEFB7209
dq 0xEEF7EB52F6F19869
dq 0x9D50328ADEFB7209
dq 0xEEF7EB52F6F19869

dq 0xCE021C30FFC299D6
dq 0xA60E9C56F1B20570
dq 0xCE021C30FFC299D6
dq 0xA60E9C56F1B20570

dq 0x30763886E2C46218
dq 0xEB535D0EA7E4A12F
dq 0x30763886E2C46218
dq 0xEB535D0EA7E4A12F

dq 0x6802E8E1B7E04514
dq 0x46EBF28FC18EFE1A
dq 0x6802E8E1B7E04514
dq 0x46EBF28FC18EFE1A

dq 0x032E9746236A5D7F
dq 0xAC5976548F321298
dq 0x032E9746236A5D7F
dq 0xAC5976548F321298

dq 0xB6D30C71C85F76C8
dq 0x881D2CA6ABEA19C5
dq 0xB6D30C71C85F76C8
dq 0x881D2CA6ABEA19C5
